#pragma once
#include "..\Controls\ListCtrl.h"

class CMainDlg;

class CPluginManagerDlg 
	: public CBkDialogImpl<CPluginManagerDlg>
	,public CWHRoundRectFrameHelper<CPluginManagerDlg>
{
public:
	CPluginManagerDlg(CMainDlg* dlg)
		: CBkDialogImpl<CPluginManagerDlg>(IDR_BK_PLUGINMANAGER_DLG),
		m_dlg(dlg)
	{
		
	}

	~CPluginManagerDlg(void)
	{		
	}
	CMainDlg*	m_dlg;
	
protected:
	LRESULT		OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
	BOOL		OnInitDialog(HWND wParam, LPARAM lParam);	
	LRESULT		OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
	void		OnBkBtnClose();
	void		OnBkBtnSure();	
	void AddToListCtrl(CString strClassName,CString strGroupName,CString strDesc,CString inited,CString strClsid,CString strFile); 

public:
	BK_NOTIFY_MAP(IDC_RICHVIEW_WIN);
		BK_NOTIFY_ID_COMMAND(IDC_BTN_SYS_CLOSE,					OnBkBtnClose)
		BK_NOTIFY_ID_COMMAND(IDC_BTN_DLG_OK,			OnBkBtnSure)
		BK_NOTIFY_ID_COMMAND(IDC_BTN_DLG_CANCEL,		OnBkBtnClose)		
	
	BK_NOTIFY_MAP_END()

	BEGIN_MSG_MAP_EX(CPluginManagerDlg)	
		MSG_BK_NOTIFY(IDC_RICHVIEW_WIN)
		CHAIN_MSG_MAP(CBkDialogImpl<CPluginManagerDlg>)
		CHAIN_MSG_MAP(CWHRoundRectFrameHelper<CPluginManagerDlg>)
		MESSAGE_HANDLER(WM_CREATE,				OnCreate)
		MESSAGE_HANDLER(WM_DESTROY,				OnDestroy)	
		MSG_WM_INITDIALOG(OnInitDialog)	

		REFLECT_NOTIFICATIONS_EX()
	END_MSG_MAP()		 

private:
	void _init();
	CListCtrl		m_wndListCtrl;
	
};